#include<stdlib.h>
#include<stdio.h>
#include<string.h>
void MyPrint(char** arr,int sz){
	int i = 0;
	for (i = 0; i <sz; i++)
	{
		printf("%s ", arr[i]);
	}
	printf("\n");
}
int char_cmp(const void* x, const void* y)
{
	//因为数组里存的是字符串的地址，所以要强制类型转换成(char **)
	//然后再解引用一下才是字符串的地址
	//比较什么类型就强转为什么类型，比较的是类型是指针数组，所以强转为指针数组类型（此处是二级指针）
	return strcmp(*(char**)x,*(char**)y);
}
int main(void)
{
	char* arr[] = { "ddddaa", "bbasdasbb", "abdasdcccc", "acfsdfaaaa", "ffffeeee" };
	int sz = sizeof(arr) / sizeof(arr[0]);
	MyPrint(arr,sz);
	qsort(arr, sizeof(arr) / sizeof(arr[0]), sizeof(char*), char_cmp);
	MyPrint(arr, sz);
	return 0;
}